As computing and communication networks continue to evolve, media is increasingly being stored, shared, and played over these networks. However, network-based media players can be adversely impacted by network constraints. For example, a wireless network may not have sufficient bandwidth for glitch-free playback of streamed media.
Some network-based media players enable a user to stream PC-based TV and media content to network-connected consumer electronics devices elsewhere in the home. When connected via a wireless network, such media players may experience packet loss during media streaming. When confronted with packet loss, a media player has two choices. First, the media player may skip the lost packets and play what content it has. This may result in image corruption onscreen, audio glitches, etc. Second, the media player may request retransmission of the lost packets and delay playback until those packets are received. This may result in the playback pausing during retransmission. Current media players may hard code one of these two strategies, or may use a static combination of these two strategies. For example, a media player may be hard coded to request one retransmission, and if a lost packet is not received after retransmission, then to play what content it has. As a result a user may have a less than optimal experience when packets are lost on the network.